﻿using System;

namespace Shuba.Model
{
    public class ChannelMappingInfo
    {
        public ChannelMappingInfo()
        { }

        public ChannelMappingInfo(string PRN_CODE, string CHANNEL_ID, string CHANNEL_NAME, string PROSPECT_TYPE, string PROSPECT_NAME, string DEBTOR_TYPE, string DEBTOR_NAME, DateTime EFFECTIVE_DATE, string ENTRY_BY, DateTime ENTRY_DATE, string UPDATE_BY, DateTime UPDATE_DATE, string IS_ACTIVE)
        {
            this.PRN_CODE = PRN_CODE;
            this.CHANNEL_ID = CHANNEL_ID;
            this.CHANNEL_NAME = CHANNEL_NAME;
            this.PROSPECT_TYPE = PROSPECT_TYPE;
            this.PROSPECT_NAME = PROSPECT_NAME;
            this.DEBTOR_TYPE = DEBTOR_TYPE;
            this.DEBTOR_NAME = DEBTOR_NAME;
            this.EFFECTIVE_DATE = EFFECTIVE_DATE;
            this.ENTRY_BY = ENTRY_BY;
            this.ENTRY_DATE = ENTRY_DATE;
            this.UPDATE_BY = UPDATE_BY;
            this.UPDATE_DATE = UPDATE_DATE;
            this.IS_ACTIVE = IS_ACTIVE;
        }

        public ChannelMappingInfo(string PRN_CODE, string CHANNEL_ID, string PROSPECT_TYPE, string DEBTOR_TYPE, DateTime EFFECTIVE_DATE, string ENTRY_BY, DateTime ENTRY_DATE, string UPDATE_BY, DateTime UPDATE_DATE, string ACT_TYPE, string CHANNEL_ID_ORIG, string PROSPECT_TYPE_ORIG, string DEBTOR_TYPE_ORIG, string IS_ACTIVE)
        {
            this.PRN_CODE = PRN_CODE;
            this.CHANNEL_ID = CHANNEL_ID;
            this.PROSPECT_TYPE = PROSPECT_TYPE;
            this.DEBTOR_TYPE = DEBTOR_TYPE;
            this.EFFECTIVE_DATE = EFFECTIVE_DATE;
            this.ENTRY_BY = ENTRY_BY;
            this.ENTRY_DATE = ENTRY_DATE;
            this.UPDATE_BY = UPDATE_BY;
            this.UPDATE_DATE = UPDATE_DATE;
            this.ACT_TYPE = ACT_TYPE;
            this.CHANNEL_ID_ORIG = CHANNEL_ID_ORIG;
            this.PROSPECT_TYPE_ORIG = PROSPECT_TYPE_ORIG;
            this.DEBTOR_TYPE_ORIG = DEBTOR_TYPE_ORIG;
            this.IS_ACTIVE = IS_ACTIVE;
        }

        public string PRN_CODE { get; set; }
        public string CHANNEL_ID { get; set; }
        public string CHANNEL_NAME { get; set; }
        public string PROSPECT_TYPE { get; set; }
        public string PROSPECT_NAME { get; set; }
        public string DEBTOR_TYPE { get; set; }
        public string DEBTOR_NAME { get; set; }
        public DateTime EFFECTIVE_DATE { get; set; }
        public string ENTRY_BY { get; set; }
        public DateTime ENTRY_DATE { get; set; }
        public string UPDATE_BY { get; set; }
        public DateTime UPDATE_DATE { get; set; }
        public string ACT_TYPE { get; set; }
        public string CHANNEL_ID_ORIG { get; set; }
        public string PROSPECT_TYPE_ORIG { get; set; }
        public string DEBTOR_TYPE_ORIG { get; set; }
        public string IS_ACTIVE { get; set; }

        public override string ToString()
        {
            return
            PRN_CODE + " - " +
            CHANNEL_ID + " - " +
            PROSPECT_TYPE + " - " +
            ENTRY_BY + " - " +
            ENTRY_DATE.ToString("yyyy MMM dd hh:mm:ss") + " - " +
            UPDATE_BY + " - " +
            UPDATE_DATE.ToString("yyyy MMM dd hh:mm:ss") + " - " +
            ACT_TYPE;
        }

        public string ToString4Audit()
        {
            return
            "PRN_CODE: " + PRN_CODE +
            ", CHANNEL_ID: " + CHANNEL_ID +
            ", PROSPECT_ID: " + PROSPECT_TYPE +
            ", ENTRY_BY: " + ENTRY_BY +
            ", ENTRY_DATE: " + ENTRY_DATE.ToString("yyyy MMM dd hh:mm:ss") +
            ", UPDATE_BY: " + UPDATE_BY +
            ", UPDATE_DATE: " + UPDATE_DATE.ToString("yyyy MMM dd hh:mm:ss") +
            ", ACT_TYPE: " + ACT_TYPE;
        }
    }
}
